package com.kpmg.datalake.common.service;

import com.baomidou.mybatisplus.service.IService;
import com.kpmg.datalake.common.vo.ServerResponse;
import com.kpmg.datalake.db.model.SysUsr;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author azhao6
 * @since 2018-09-05
 */
public interface IPrvgUsrService extends IService<SysUsr> {

  /**
   * 通过AD用户名 检擦校验 并创建用户
   *
   * @param userName 用户名
   * @return 用户信息
   */
  SysUsr autoCheckAndCreate(String userName);

  /**
   * 通过用户名获取用户信息
   *
   * @param userName 用户名
   * @return 用户信息
   */
  SysUsr getUserByUserName(String userName);

  /**
   * 用登录用户检查校验
   *
   * @param userName 用户名称
   * @return 成功返回用户信息
   */
  ServerResponse<SysUsr> checkUserName(String userName);

  /**
   * 加载用户权限项目信息
   *
   * @param user 用户
   * @return 用户
   */
  SysUsr loadUserSettings(SysUsr user);
}
